package net.zjitc.mapper;

/**
 * Created by Administrator on 2018/1/3.
 */

import net.zjitc.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 使用注解的方式完成增删改查
 *可以以注解的方式，不用写xml文件
 */
public interface UserAnnotationMapper {
    //添加一个用户
    @Insert("INSERT into user(username,birthday,sex,address)value(#{username},#{birthday},#{sex},#{address})")
    @Options(useGeneratedKeys = true,keyProperty = "id")
      void addUser(User user);

    /**
     * 查询所有用户
     */
    @Select("select * from user")
     List<User> findAll();

    /**
     * 查出的数据，就和实体类的属性一一对应(列名 和属性名一样)
     * 如果列名和属性名不一样怎么办？
     * 使用@result注解将列名和属性名进行映射
     */
    @Select("select id uid,username un from user where id=#{id}")
    @Results({
            @Result(id=true,column = "uid" ,property = "id"),
            @Result(column = "un",property = "username")
    }

    )
    User findById(@Param("id") int uid);
}
